package com.syh.jn.scm.domain.downstream.event;

import com.syh.core.ddd.domain.DomainEvent;
import com.syh.jn.scm.domain.downstream.entity.purchase.DownPurchaseOrder;

public class DownPurchaseOrderEvent extends DomainEvent<DownPurchaseOrder> {
    //下游采购单删除事件
    public static final String DOWN_PURCHASE_ORDER_DESTORY = "downPurchaseOrderDestory";

    public static DownPurchaseOrderEvent buildDownPurchaseOrderDestory(Object[] values){
        DownPurchaseOrderEvent downstreamPurchaseOrderEvent = new DownPurchaseOrderEvent();
        downstreamPurchaseOrderEvent.eventName = DOWN_PURCHASE_ORDER_DESTORY ;
        downstreamPurchaseOrderEvent.values = values;
        return downstreamPurchaseOrderEvent;
    }

    public static final String DOWNSTREAM_PURCHASEORDER_STATE_DESTORY = "downPurchaseOrderStateEventDestory";

    public static DownPurchaseOrderEvent buildDownPurchaseOrderStateDestory(Object[] values){
        DownPurchaseOrderEvent downstreamPurchaseOrderEvent = new DownPurchaseOrderEvent();
        downstreamPurchaseOrderEvent.eventName = DOWNSTREAM_PURCHASEORDER_STATE_DESTORY;
        downstreamPurchaseOrderEvent.values = values;
        return downstreamPurchaseOrderEvent;
    }

    public static final String DOWNSTREAM_PURCHASEORDER_REMOVE_STATE_DESTORY = "downPurchaseOrderRemoveStateEventDestory";

    public static DownPurchaseOrderEvent buildDownPurchaseOrderRemoveStateDestory(Object[] values){
        DownPurchaseOrderEvent downstreamPurchaseOrderEvent = new DownPurchaseOrderEvent();
        downstreamPurchaseOrderEvent.eventName = DOWNSTREAM_PURCHASEORDER_REMOVE_STATE_DESTORY;
        downstreamPurchaseOrderEvent.values = values;
        return downstreamPurchaseOrderEvent;
    }

    public static final String DOWNSTREAM_PURCHASEORDER_CONFIRM_RECEIPT = "downPurchaseOrderConfirmReceipt";

    public static DownPurchaseOrderEvent buildDownPurchaseOrderConfirmReceipt(Object[] values){
        DownPurchaseOrderEvent downstreamPurchaseOrderEvent = new DownPurchaseOrderEvent();
        downstreamPurchaseOrderEvent.eventName = DOWNSTREAM_PURCHASEORDER_CONFIRM_RECEIPT;
        downstreamPurchaseOrderEvent.values = values;
        return downstreamPurchaseOrderEvent;
    }

    public static final String DOWNSTREAM_PURCHASEORDER_CONFIRM_RECEIPT_SUMMARY = "downPurchaseOrderConfirmReceiptSummary";

    public static DownPurchaseOrderEvent buildDownPurchaseOrderConfirmReceiptSummary(Object[] values){
        DownPurchaseOrderEvent downstreamPurchaseOrderEvent = new DownPurchaseOrderEvent();
        downstreamPurchaseOrderEvent.eventName = DOWNSTREAM_PURCHASEORDER_CONFIRM_RECEIPT_SUMMARY;
        downstreamPurchaseOrderEvent.values = values;
        return downstreamPurchaseOrderEvent;
    }

    //下游采购单取消事件
    public static final String DOWN_PURCHASE_ORDER_CANCEL = "downPurchaseOrderCancel";

    public static DownPurchaseOrderEvent buildDownPurchaseOrderCancel(Object[] values){
        DownPurchaseOrderEvent downstreamPurchaseOrderEvent = new DownPurchaseOrderEvent();
        downstreamPurchaseOrderEvent.eventName = DOWN_PURCHASE_ORDER_CANCEL;
        downstreamPurchaseOrderEvent.values = values;
        return downstreamPurchaseOrderEvent;
    }

}
